home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / programming / other / ioblixdevkit / c / include / ioblix / extfifo.h < prev    next >
C/C++ Source or Header  |  1999-05-14  |  1KB  |  46 lines

  1. /*
  2. **      $VER: ioblix/extfifo.h 37.3 (7.4.99)
  3. **
  4. **      include file for access to IOBlix onboard FIFOs
  5. **
  6. **      (C) Copyright 1998,1999 Thore Böckelmann
  7. **      All Rights Reserved.
  8. */
  9.  
  10. #ifndef IOBLIX_EXTFIFO_H
  11. #define IOBLIX_EXTFIFO_H 1
  12.  
  13. /* status flags for external FIFOs */
  14. /* all flags are negative logic, ie WFIFOF_FULL set means FIFO is NOT full */
  15.  
  16. #define EXTFIFO_READ        0
  17. #define EXTFIFO_WRITE       0
  18. #define EXTFIFO_STATUS      1
  19. #define EXTFIFO_REG_COUNT   2
  20.  
  21. struct ExtFIFORegisters {
  22.     ULONG er_RegCount;
  23.     volatile UBYTE *er_Regs[EXTFIFO_REG_COUNT];
  24. };
  25.  
  26. #define fifo_read   er_Regs[EXTFIFO_READ]
  27. #define fifo_write  er_Regs[EXTFIFO_WRITE]
  28. #define fifo_status er_Regs[EXTFIFO_STATUS]
  29.  
  30. #define RFIFOB_FULL 0
  31. #define RFIFOF_FULL (1 << RFIFOB_FULL)
  32. #define RFIFOB_HFULL 1
  33. #define RFIFOF_HFULL (1 << RFIFOB_HFULL)
  34. #define RFIFOB_EMPTY 2
  35. #define RFIFOF_EMPTY (1 << RFIFOB_EMPTY)
  36.  
  37. #define WFIFOB_FULL 4
  38. #define WFIFOF_FULL (1 << WFIFOB_FULL)
  39. #define WFIFOB_HFULL 5
  40. #define WFIFOF_HFULL (1 << WFIFOB_HFULL)
  41. #define WFIFOB_EMPTY 6
  42. #define WFIFOF_EMPTY (1 << WFIFOB_EMPTY)
  43.  
  44. #endif /* IOBLIX_EXTFIFO_H */
  45.  
  46.